<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
	<TITLE></TITLE>
	<META NAME="GENERATOR" CONTENT="BrOffice.org 2.4  (Win32)">
	<META NAME="AUTHOR" CONTENT="Karina Kieling">
	<META NAME="CREATED" CONTENT="20081004;19242800">
	<META NAME="CHANGEDBY" CONTENT="Karina Kieling">
	<META NAME="CHANGED" CONTENT="20081101;22412593">
	<STYLE TYPE="text/css">
	<!--
		@page { margin: 2cm }
		P { margin-bottom: 0.21cm }
		P.western { so-language: pt-BR }
	-->
	</STYLE>
</HEAD>
<BODY LANG="pt-BR" DIR="LTR">
<P STYLE="margin-bottom: 0cm; font-style: normal; line-height: 150%"></P>
<P STYLE="margin-bottom: 0cm; font-style: normal; line-height: 150%"></P>
<P STYLE="margin-bottom: 0cm; font-style: normal; line-height: 150%"><B>CONJUNTOS
FIRST E FOLLOW</B></P>
<P CLASS="western">	</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	O
conjuntos First e Follow &eacute; o c&aacute;lculo que se faz para
construir a tabela de an&aacute;lise. O conjunto First de um <A HREF="conceitos%20basicos.html">s&iacute;mbolo</A>
de uma <A HREF="gramatica.html">gram&aacute;tica</A> &eacute; o
conjunto de todos os s&iacute;mbolos que podem precede-lo em uma
senten&ccedil;a, j&aacute; o conjunto Follow de um s&iacute;mbolo
pode ser descrito como o conjunto dos s&iacute;mbolos que pode-se
precedidos pelos s&iacute;mbolos em quest&atilde;o (GESSER, 2003).</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	O c&aacute;lculo
do First &eacute; feito atrav&eacute;s do algoritmo que segue:</P>
<OL>
	<LI><P CLASS="western" STYLE="margin-bottom: 0cm; line-height: 150%">
	Se a &eacute; um terminal, ent&atilde;o First(a) = {a}.</P>
	<LI><P CLASS="western" STYLE="margin-bottom: 0cm; line-height: 150%">
	Se x ::= <FONT FACE="Symbol, serif">&#61541; </FONT><FONT FACE="Times New Roman, serif">&eacute;
	uma produ&ccedil;&atilde;o, ent&atilde;o adicione </FONT><FONT FACE="Symbol, serif">&#61541;
	</FONT><FONT FACE="Times New Roman, serif">a First(x)</FONT></P>
	<LI><P CLASS="western" STYLE="margin-bottom: 0cm; line-height: 150%">
	<FONT FACE="Times New Roman, serif">Se X ::= Y1Y2...Yk &eacute; uma
	produ&ccedil;&atilde;o e, para algum i, todos Y1,Y2,...,Yi-1 derivam
	</FONT><FONT FACE="Symbol, serif">&#61541; , </FONT><FONT FACE="Times New Roman, serif">ent&atilde;o
	First (Yi) est&aacute; em First(X). Se todo Yj (j = 1,2,...,k)
	deriva </FONT><FONT FACE="Symbol, serif">&#61541;</FONT><FONT FACE="Times New Roman, serif">,
	ent&atilde;o </FONT><FONT FACE="Symbol, serif">&#61541; </FONT><FONT FACE="Times New Roman, serif">est&aacute;
	em First(X).</FONT></P>
</OL>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	Para o
c&aacute;lculo do Follow aplicam-se as regras a seguir, isso at&eacute;
que n&atilde;o se possa adicionar mais s&iacute;mbolos ao conjunto.</P>
<OL>
	<LI><P CLASS="western" STYLE="line-height: 150%"><FONT FACE="Times New Roman, serif">Se
	S &eacute; o s&iacute;mbolo inicial da gram&aacute;tica e $ &eacute;
	o marcador de fim da senten&ccedil;a, ent&atilde;o $ esta em
	Follow(S).</FONT></P>
	<LI><P CLASS="western" STYLE="margin-bottom: 0cm; line-height: 150%">
	<FONT FACE="Times New Roman, serif">Se existe produ&ccedil;&atilde;o
	do tipo A:: = </FONT><FONT FACE="Symbol, serif">&#61537; </FONT><FONT FACE="Times New Roman, serif">X</FONT><FONT FACE="Symbol, serif">&#61538;</FONT><FONT FACE="Times New Roman, serif">,
	ent&atilde;o todos os terminais de First(</FONT><FONT FACE="Symbol, serif">&#61538;)
	</FONT><FONT FACE="Times New Roman, serif">fazem parte de Follow(X).</FONT></P>
	<LI><P CLASS="western" STYLE="margin-bottom: 0cm; line-height: 150%">
	<FONT FACE="Times New Roman, serif">Se existe produ&ccedil;&atilde;o
	do tipo A::= </FONT><FONT FACE="Symbol, serif">&#61537; </FONT><FONT FACE="Times New Roman, serif">X,
	ou A:: = </FONT><FONT FACE="Symbol, serif">&#61537; </FONT><FONT FACE="Times New Roman, serif">X</FONT><FONT FACE="Symbol, serif">&#61538;,
	</FONT><FONT FACE="Times New Roman, serif">sendo que </FONT><FONT FACE="Symbol, serif">&#61538;</FONT><FONT FACE="Times New Roman, serif">
	</FONT><FONT FACE="Symbol, serif">&#61662;</FONT><FONT FACE="Times New Roman, serif">*</FONT><FONT FACE="Symbol, serif">&#61541;,
	</FONT><FONT FACE="Times New Roman, serif">ent&atilde;o todos os
	terminais que estiverem em Follow(A) fazem parte de Follow(X).</FONT></P>
</OL>
<P CLASS="western" STYLE="margin-bottom: 0cm; line-height: 150%"><BR>
</P>
<P CLASS="western" STYLE="margin-bottom: 0cm; line-height: 150%"><IMG SRC="first%20e%20follow_html_m637a0871.gif" ALIGN=MIDDLE>
<FONT FACE="Times New Roman, serif"><A HREF="Indice.html">Voltar
&Iacute;ndice</A></FONT></P>
<P CLASS="western" STYLE="margin-bottom: 0cm; line-height: 150%"><BR>
</P>
<P CLASS="western" STYLE="margin-bottom: 0cm; line-height: 150%"><BR>
</P>
<P CLASS="western" STYLE="margin-bottom: 0cm; line-height: 150%"><BR>
</P>
<P CLASS="western"><BR><BR>
</P>
</BODY>
</HTML>